package controllers

import (
	"GoWebBluebell/logic"
	"strconv"

	"github.com/gin-gonic/gin"
	"go.uber.org/zap"
)

//--与社区相关--

func CommunityHandler(c *gin.Context) {
	//查询到所有的社区 (community_id, community_name) 以列表(切片)的形式返回

	data, err := logic.GetCommunityList()
	if err != nil {
		zap.L().Error("cogic.GetCommunityList() failed", zap.Error(err))
		ResponseError(c, CodeServerBusy) //不对前端暴露太详细的错误, 只记录到日志
		return
	}
	ResponseSuccess(c, data)
}

// CommunityDetailHandler 社区分类详情
func CommunityDetailHandler(c *gin.Context) {
	// 1.获取社区id
	idStr := c.Param("id")                     //获取URL参数
	id, err := strconv.ParseInt(idStr, 10, 64) //将字符串转化为数字
	if err != nil {
		ResponseError(c, CodeInvalidParam)
		return
	}

	// 2.根据id获取社区详情
	data, err := logic.GetCommunityDetail(id)
	if err != nil {
		zap.L().Error("logic.GetCommunityDetail() failed", zap.Error(err))
		ResponseError(c, CodeServerBusy) //不对前端暴露太详细的错误, 只记录到日志
		return
	}
	ResponseSuccess(c, data)
}
